1. Field
The disclosure relates generally to efficiently copying data in a data processing system and more specifically to replicating high capacity virtual machine images.
2. Description of the Related Art
A data center is a facility used to house computer systems and associated components, such as telecommunications and storage systems. It generally includes redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning, fire suppression) and security devices. The equipment may be used to operate and manage an entities' telecommunication network, provide data center based applications directly to the entities' customers, provide hosted applications for a third party to provide services to their customers, or provide a combination of these and similar data center applications.
Virtual data processing systems (sometimes called system virtual machines or hardware virtual machines) allow the sharing of the underlying physical machine resources between different virtual machines, each running its own operating system. The software layer providing the virtualization is called a virtual machine monitor or hypervisor. A hypervisor can run on bare hardware (Type 1 or native VM) or on top of an operating system (Type 2 or hosted VM).
The main advantages of virtual data processing systems are: (1) multiple OS environments can co-exist on the same computer, in strong isolation from each other, (2) the virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machine, and (3) application provisioning, maintenance, high availability and disaster recovery.
One of the most time consuming tasks when setting up a data processing system is the installation and configuration of all the different software programs that will run on a given system, such as the operating system and application programs. Entities who continually configure systems usually install the software using a pre-configured operating system image. Installation from an operating system image significantly reduces the time required to either setup up a new data processing system (virtual or physical), or newly reconfigure an preexisting system to a new operating environment to provide new or upgraded functionality.
There may be instances when it is desirable to re-locate the functionality being provided by a given virtual data processing system, such as when a new data center is brought on-line at another physical location in order to be in closer physical proximity to end-users who are using the services provided by a given data center. Other scenarios for which a copy of a given virtual data processing system may be desired include virtual machine provisioning, cloning a virtual machine to a different storage device, cloning a virtual machine for a system health check, a backup/restore of a virtual machine, a storage hardware upgrade, or a hypervisor hardware upgrade without shared storage. However, today's data centers and associated virtual data processing systems typically utilize enormous data storage capacity, such as multi-gigabyte and even multi-terabyte capacities. The transfer of data between multiple data centers in order to replicate or relocate functionality from one data center to another can be difficult, requiring use of high-speed networks or physically relocating large and bulky storage devices between such data centers.
It would thus be desirable to provide an improved technique for relocating or replicating data from one data center to another, and it would be particularly advantageous to relocate or replicate system image data from a virtual data processing system to another virtual data processing system that is physically remote from the virtual data processing system.